@echo off

net session >nul 2>&1
if %errorLevel% neq 0 (
    echo 当前用户不是管理员身份，脚本将退出
	pause
    exit /b
)

tasklist | find /i "cursor.exe" >nul 2>&1
if %errorLevel% equ 0 (
    echo 请退出 Cursor 应用程序！
	pause
    exit /b
)

cd /d %~dp0

echo 初始化配置[%APPDATA%\cursor\user\settings.json]

REM 将config子目录下的文件复制到当前用户目录下的AppData\Roaming\Cursor\User目录
xcopy /E /I /Y /R /H /C /Q ".\Roaming\cursor\user\settings.json" "%APPDATA%\cursor\user\settings.json"

if %errorlevel% neq 0 (
    echo 复制失败，请检查目录和权限。
	pause
    exit /b
)

echo 初始化插件[%USERPROFILE%\.cursor]
echo 如复制失败，请双击天擎360客户端中将此bat文件纳入受信名单

REM 将当前目录下的.cursor目录复制到当前用户目录下
xcopy /E /I /Y /R /H /C /Q ".\extensions" "%USERPROFILE%"

if %errorlevel% neq 0 (
    echo 复制失败，请检查目录和权限。
	pause
    exit /b
)              
                                                       

:input
REM 提示用户输入maven配置文件路径
set /p "mavenPath=请输入maven配置文件路径: (如c:\maven\conf\settings.xml, 当前环境变量MAVEN_HOME为[%MAVEN_HOME%])"

REM 检查文件是否存在
if not exist "%mavenPath%" (
    echo 文件不存在，请重新输入。	
    goto input
)

REM 替换文件路径中的反斜杠为两个反斜杠
set "mavenPath=%mavenPath:\=\\%"

REM 将settings.json文件中的路径替换为用户输入的路径
powershell -Command "(Get-Content '%APPDATA%\Cursor\User\settings.json' -Encoding UTF8) -replace 'mavenPathVar', '%mavenPath%' | Set-Content '%APPDATA%\Cursor\User\settings.json' -Encoding UTF8"


:input2
REM 提示用户输入JDK1.8路径
set /p "myJdkPath=请输入JDK1.8路径目录（如：C:\Program Files\Java\jdk1.8.0_40， 当前环境变量JAVA_HOME为[%JAVA_HOME%]）: "

REM 检查文件是否存在
if not exist "%myJdkPath%" (
    echo 文件不存在，请重新输入。
    goto input2
)

REM 替换文件路径中的反斜杠为两个反斜杠
set "myJdkPath=%myJdkPath:\=\\%"

REM 将settings.json文件中的路径替换为用户输入的路径
powershell -Command "(Get-Content '%APPDATA%\Cursor\User\settings.json'  -Encoding UTF8) -replace 'myJdkPathVar', '%myJdkPath%' | Set-Content '%APPDATA%\Cursor\User\settings.json' -Encoding UTF8"

REM 修改本地模式
set "dbfile=%APPDATA%\Cursor\User\globalStorage\state.vscdb"
set "database=%dbfile%"
set "query=UPDATE ItemTable SET value = REPLACE(value, '\"noStorageMode\":false', '\"noStorageMode\":true') WHERE key='aisettings.service'"
sqlite3.exe "%database%" "%query%" > result.txt
echo 已自动开启本地模式
del /Q result.txt

echo 清理临时文件
if "%username%" neq "luojianguang" (
    rmdir extensions /s /q
	rmdir Roaming /s /q
)

echo 初始化结束
pause 